約 2,913,097 件
https://w.atwiki.jp/sampleisbest/pages/90.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 コンソール アプリケーション プロジェクト名 ddump アプリケーションの種類 コンソール アプリケーション 追加のオプション 空のプロジェクト ddump.c #include stdio.h void ddump(double value) { unsigned long long v = *(unsigned long long *) value; char bit[64+3]; char *b = bit; char sign;// 符号部(1bit) int exponent;// 指数部(11bit) double fraction;// 仮数部(52bit) int i; for (i = 0; i 64; i++) { *b++ = (v (1ULL (63-i))) ? 1 0 ; if (i == 0 || i == 11) *b++ = . ; } *b = \0 ; sign = (v 0x8000000000000000ULL) ? - + ; exponent = ((v 52) 0x7ff) - 1023; fraction = (v 0xfffffffffffffULL) / (double)0x10000000000000ULL; printf("%s\ns %c e 2^%d f 1+%.15f\n", bit, sign, exponent, fraction); } int main() { ddump(1.5); ddump(0.5); ddump(-2.0); ddump(0.0); return 0; } 出力 0.01111111111.1000000000000000000000000000000000000000000000000000 s + e 2^0 f 1+0.500000000000000 0.01111111110.0000000000000000000000000000000000000000000000000000 s + e 2^-1 f 1+0.000000000000000 1.10000000000.0000000000000000000000000000000000000000000000000000 s - e 2^1 f 1+0.000000000000000 0.00000000000.0000000000000000000000000000000000000000000000000000 s + e 2^-1023 f 1+0.000000000000000
https://w.atwiki.jp/sampleisbest/pages/128.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 コンソール アプリケーション プロジェクト名 atltest アプリケーションの種類 コンソール アプリケーション 追加のオプション 空のプロジェクト atltest.obj warning LNK4254 セクション ATL (50000040) は .rdata (40000040) に異なる属性を伴ってマージされています IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 セクションに初期化されたデータが含まれています。 IMAGE_SCN_MEM_SHARED 0x10000000 セクションをメモリ中で共有できます。 IMAGE_SCN_MEM_READ 0x40000000 セクションを読むことができます。 共有できるというフラグが取れただけで、あまり影響がないのかもしれない。 参考 COMを使う(超簡単例:VCで実行) EXEファイルの内部構造(セクション) atltest.cpp /* ATLディレクトリの追加 構成プロパティ/VC++ ディレクトリ ・インクルード ディレクトリ:C \WinDDK\7600.16385.1\inc\atl71 ・ライブラリ ディレクトリ:C \WinDDK\7600.16385.1\lib\ATL\i386 構成プロパティ/リンカー/コマンド ライン ・追加オプション:/ignore 4254 */ #include atlbase.h #import "wmp.dll" high_method_prefix("M") named_guids using namespace WMPLib; int main() { BSTR bstrURL = L"C \\tmp\\hoge.mp3"; HRESULT hr; hr = CoInitialize(NULL); CComPtr IWMPPlayer4 player; hr = player.CoCreateInstance(CLSID_WindowsMediaPlayer); hr = player- MopenPlayer(bstrURL); player = NULL; CoUninitialize(); return 0; }
https://w.atwiki.jp/chapati4it/pages/30.html
GCCインストール $ sudo apt-get install gcc ※検索してると↓を実行してる記事も見かけるので実は↓の方がいいのかも $ sudo apt-get install build-essential なんとなくバージョン確認 $ gcc --version gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 今回インストールしたのは4.5.2だそうです。よくわかってません。 試しにソースコード作成(hello.c) $ cat hello.c #include stdio.h int main(void) { printf("ハローワールド\n"); return 0; } コンパイル $ gcc hello.c $ ll total 20 drwxr-xr-x 2 hoge hoge 4096 2011-09-28 13 40 ./ drwxr-xr-x 4 hoge hoge 4096 2011-09-28 13 40 ../ -rwxr-xr-x 1 hoge hoge 7087 2011-09-28 13 38 a.out* - 出来上がった実行ファイル -rw-r--r-- 1 hoge hoge 92 2011-09-28 13 38 hello.c 実行 $ ./a.out ハローワールド アフィリエイト ここまで
https://w.atwiki.jp/tracking_quizshow/pages/106.html
問題 問題画像 問題文 次の□に四則演算記号(+,-,×,÷のどれか)を1つずつ入れて、答えがゼロになるようにしてください。607□5□3□3□2□2解答は、四則演算記号を以下のようにアルファベットに変換し、例にならって記述すること。解答例:ABDBC「+」→A 「-」→B 「×」→C 「÷」→D 回答 DCCDD 解説 607÷5×3×3÷2÷2 摂氏0[℃]を絶対温度273.15[K]で表したもの。 補足 Big/bq085と同じ問題です
https://w.atwiki.jp/sampleisbest/pages/92.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 コンソール アプリケーション プロジェクト名 scanf アプリケーションの種類 コンソール アプリケーション 追加のオプション 空のプロジェクト scanf()の戻り値(正常に変換され、代入されたフィールドの数)はなるべくチェックする。 Ctrl+Zが入力された場合の戻り値はEOF。 必要であればrewind(stdin)でキーボードバッファをクリアする。 文字列を入力する場合、最大文字数を指定するようにする。バッファにはNULL文字用の領域も確保しておく。 scanf1.c #define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { char c; int i; while (1) { i = scanf("%c", c); printf("%d %#x\n", i, c); if (c == q ) break; } return 0; } 出力 a 1 0x61 1 0xa ^Z -1 0xa q 1 0x71 考察 EOF(Ctrl+Z)でループから抜ける 改行(0xa)を無視する→rewind() scanf2.c #define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { char c; int i; while (1) { i = scanf("%c", c); printf("%d %#x\n", i, c); rewind(stdin); if (i == EOF) break; if (c == q ) break; } return 0; } 出力 a 1 0x61 ^Z -1 0xa scanf3.c #define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { char buf[3+1]; int i; while (1) { i = scanf("%3s", buf); printf("%d [%s]\n", i, buf); if (i == EOF) break; } return 0; } 出力 abcde 1 [abc] 1 [de] ^Z -1 [de] scanf4.c #include locale.h // LC_CTYPE #include stdio.h // EOF #include stdlib.h #include tchar.h int main() { _TCHAR buf[76+1]; int i; _tsetlocale(LC_CTYPE, _T("")); while (1) { _tprintf(_T("(Ctrl-Zで終了) ")); i = _tscanf_s(_T("%76s"), buf, _countof(buf)); _tprintf(_T("%d "), i); if (i == EOF) break; _tprintf(_T("[%s]\n"), buf); } return 0; } 出力 (Ctrl-Zで終了) abc 1 [abc] (Ctrl-Zで終了) あいう 1 [あいう] (Ctrl-Zで終了) ^Z -1
https://w.atwiki.jp/felix_mt/pages/18.html
ゲーム情報 言語 英語 ジャンル タイムマネージメント>牧場 製作会社 Alawar Entertainment 関連ゲーム ゲーム配布ページ Big Fish Games http //www.bigfishgames.jp/download-games/3956/mystic-inn/index.html Manage five different farms around the world and try your hand at penguin breeding and jewelry making in Farm Frenzy 3! Enjoy outrageously fun levels, wacky animals and more upgrades than there are ears in a field of corn! Grow crops, feed animals, collect produce and manufacture goods, while you enjoy zany animation! Help Scarlett become the president of the Farmers` Union by earning the votes of the people she helps. Awesome achievements Unlockable upgrades Run the farm! (Big Fish Games 説明より抜粋) ボリューム 感想 死ぬほど忙しいな 明らかに熊が前作より強くなっててゲームバランス悪いわ 熊退治用の犬がいまいち使えないんだよね レベルあげてもなんか鈍くさい
https://w.atwiki.jp/mumeikoku/pages/16.html
Little Big Planet2のページです 公式ホームページ 名前 コメント
https://w.atwiki.jp/suffix/pages/643.html
C言語のファイル入力には fopen("ファイル名","モード"); 書き込みや読み込みをするときにはfgets()やfputs()を用いる。 他にも、getchar()やputchar()等があり、 while((c=getchar()) != EOF) { } という書き方はファイル末尾(EOF)まで読み進めるというときにはお決まりの書き方なので 覚えておくこと。ファイル位置を先頭に戻すにはrewind()を使う。 また、最後に必ずfclose("閉じるファイル");を行うこと。 ちなみにもっと低レベルでのシステムコールには openやwrite,read,close等がある。 尚、これらのシステムコールとごっちゃに使わないこと。 他にもremoveやrename,tmpfile,fscanf,fprintf,fgetc,fputc, fgets,fputs等もチェックしたい。 参考: http //www.stackasterisk.jp/tech/program/c01_08.jsp
https://w.atwiki.jp/bz666/pages/120.html
BIG MACHINE official band score
https://w.atwiki.jp/sampleisbest/pages/283.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 プロジェクト プロジェクト名 TestMP3 アプリケーションの種類 Windows アプリケーション 追加のオプション 空のプロジェクト 参考 MP3 TestMP3.cpp // TestMP3 MP3ファイルの再生 #pragma comment(lib, "winmm") #pragma comment(lib, "msacm32") #include Windows.h #include MMReg.h #include MSAcm.h #include "resource.h" struct ID3V2HEADER { BYTE id[3]; BYTE version[2]; BYTE flag; BYTE size[4]; }; typedef ID3V2HEADER *LPID3V2HEADER; // 関数プロトタイプ宣言 INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); void OnDropFiles(HWND hDlg, WPARAM wParam); void OnPlay(HWND hDlg); void OnStop(HWND hDlg); void Stop(void); BOOL IsId3v2(LPBYTE lpData, DWORD dwDataSize, LPDWORD lpdwTagSize); BOOL GetMp3Format(LPBYTE lpData, LPMPEGLAYER3WAVEFORMAT lpmf); BOOL DecodeToWave(LPWAVEFORMATEX lpwfSrc, LPBYTE lpSrcData, DWORD dwSrcSize, LPWAVEFORMATEX lpwfDest, LPBYTE *lplpDestData, LPDWORD lpdwDestSize); BOOL LoadMP3(LPTSTR lpszFile, LPMPEGLAYER3WAVEFORMAT lpmf, LPBYTE *lplpData, LPDWORD lpdwSize); // 外部変数 TCHAR szFile[MAX_PATH]; LPBYTE lpWaveData; HWAVEOUT hwo; WAVEHDR wh; //============================================================================== int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int) { DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, DlgProc); return 0; } INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { INT_PTR result = TRUE; switch (uMsg) { case MM_WOM_DONE //waveOutWrite((HWAVEOUT)wParam, (LPWAVEHDR)lParam, sizeof(WAVEHDR)); OnStop(hDlg); break; case WM_COMMAND switch (LOWORD(wParam)) { case IDOK OnPlay(hDlg); break; case IDCANCEL OnStop(hDlg); break; } break; case WM_DROPFILES OnDropFiles(hDlg, wParam); DragFinish((HDROP)wParam); break; case WM_CLOSE EndDialog(hDlg, 0); break; case WM_DESTROY Stop(); break; default result = FALSE; } return result; } void OnDropFiles(HWND hDlg, WPARAM wParam) { HDROP hDrop = (HDROP)wParam; DragQueryFile(hDrop, 0, szFile, _countof(szFile)); SetDlgItemText(hDlg, IDC_EDIT, szFile); } void OnPlay(HWND hDlg) { DWORD dwMP3Size; LPBYTE lpMP3Data = NULL; MPEGLAYER3WAVEFORMAT mf; if (!LoadMP3(szFile, mf, lpMP3Data, dwMP3Size)) { return; } WAVEFORMATEX wf; DWORD dwWaveSize; if (!DecodeToWave((LPWAVEFORMATEX) mf, lpMP3Data, dwMP3Size, wf, lpWaveData, dwWaveSize)) { delete[] lpMP3Data; return; } delete[] lpMP3Data; if (waveOutOpen( hwo, WAVE_MAPPER, wf, (DWORD_PTR)hDlg, 0, CALLBACK_WINDOW) != MMSYSERR_NOERROR) { return; } wh.lpData= (LPSTR)lpWaveData; wh.dwBufferLength= dwWaveSize; wh.dwFlags= 0; waveOutPrepareHeader(hwo, wh, sizeof(WAVEHDR)); waveOutWrite(hwo, wh, sizeof(WAVEHDR)); EnableWindow(GetDlgItem(hDlg, IDOK), FALSE); } void OnStop(HWND hDlg) { Stop(); EnableWindow(GetDlgItem(hDlg, IDOK), TRUE); } void Stop(void) { if (hwo) { waveOutReset(hwo); waveOutUnprepareHeader(hwo, wh, sizeof(WAVEHDR)); waveOutClose(hwo); hwo = NULL; } if (lpWaveData) { delete[] lpWaveData; lpWaveData = NULL; } } BOOL GetMp3Format(LPBYTE lpData, LPMPEGLAYER3WAVEFORMAT lpmf) { static const DWORD dwBitTableLayer3[][16] = { {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 0}, {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 0} }; static const DWORD dwSampleTable[][3] = { {44100, 48000, 32000}, {22050, 24000, 16000} }; // 同期ヘッダ if (lpData[0] != 0xff || lpData[1] 5 != 0x07) { return FALSE; } // バージョン BYTE version; switch (lpData[1] 3 0x03) { case 3 // 11=MPEG1 version = 1; break; case 2 // 10=MPEG2 version = 2; break; default return FALSE; } // レイヤー if ((lpData[1] 1 0x03) != 1) {// 01=Leyer3 return FALSE; } // ビットレート BYTE index = lpData[2] 4; DWORD dwBitRate = dwBitTableLayer3[version - 1][index]; // サンプリングレート index = lpData[2] 2 0x03; DWORD dwSampleRate = dwSampleTable[version - 1][index]; // パディング BYTE padding = lpData[2] 1 0x01; // チャンネルモード BYTE channel = (lpData[3] 6) == 3 ? 1 2;// 11=シングルチャネル WORD wBlockSize = (WORD)((1152 * dwBitRate * 1000 / dwSampleRate) / 8) + padding; lpmf- wfx.wFormatTag= WAVE_FORMAT_MPEGLAYER3; lpmf- wfx.nChannels= channel; lpmf- wfx.nSamplesPerSec= dwSampleRate; lpmf- wfx.nAvgBytesPerSec= (dwBitRate * 1000) / 8; lpmf- wfx.nBlockAlign= 1; lpmf- wfx.wBitsPerSample= 0; lpmf- wfx.cbSize= MPEGLAYER3_WFX_EXTRA_BYTES; lpmf- wID= MPEGLAYER3_ID_MPEG; lpmf- fdwFlags= padding ? MPEGLAYER3_FLAG_PADDING_ON MPEGLAYER3_FLAG_PADDING_OFF; lpmf- nBlockSize= wBlockSize; lpmf- nFramesPerBlock= 1; lpmf- nCodecDelay= 0x571; return TRUE; } BOOL DecodeToWave(LPWAVEFORMATEX lpwfSrc, LPBYTE lpSrcData, DWORD dwSrcSize, LPWAVEFORMATEX lpwfDest, LPBYTE *lplpDestData, LPDWORD lpdwDestSize) { lpwfDest- wFormatTag = WAVE_FORMAT_PCM; acmFormatSuggest(NULL, lpwfSrc, lpwfDest, sizeof(WAVEFORMATEX), ACM_FORMATSUGGESTF_WFORMATTAG); HACMSTREAM has; if (acmStreamOpen( has, NULL, lpwfSrc, lpwfDest, NULL, 0, 0, ACM_STREAMOPENF_NONREALTIME) != 0) { MessageBox(NULL, TEXT("変換ストリームのオープンに失敗しました。"), NULL, MB_ICONWARNING); return FALSE; } DWORD dwDestSize; acmStreamSize(has, dwSrcSize, dwDestSize, ACM_STREAMSIZEF_SOURCE); LPBYTE lpDestData = new BYTE[dwDestSize]; ACMSTREAMHEADER ash; ZeroMemory( ash, sizeof(ACMSTREAMHEADER)); ash.cbStruct= sizeof(ACMSTREAMHEADER); ash.pbSrc= lpSrcData; ash.cbSrcLength= dwSrcSize; ash.pbDst= lpDestData; ash.cbDstLength= dwDestSize; acmStreamPrepareHeader(has, ash, 0); BOOL bResult = (acmStreamConvert(has, ash, 0) == 0); acmStreamUnprepareHeader(has, ash, 0); if (bResult) { *lplpDestData = lpDestData; *lpdwDestSize = ash.cbDstLengthUsed; } else { MessageBox(NULL, TEXT("変換に失敗しました。"), NULL, MB_ICONWARNING); *lplpDestData = NULL; *lpdwDestSize = 0; delete[] lpDestData; } return bResult; } BOOL IsId3v2(LPBYTE lpData, DWORD dwDataSize, LPDWORD lpdwTagSize) { BOOL bResult; LPID3V2HEADER lpHeader = (LPID3V2HEADER)lpData; if (memcmp(lpHeader- id, "ID3", 3) == 0) { *lpdwTagSize = ((lpHeader- size[0] 21)|(lpHeader- size[1] 14)|(lpHeader- size[2] 7)|(lpHeader- size[3])) + 10; bResult = TRUE; } else { LPBYTE lp = (lpData + dwDataSize) - 128; *lpdwTagSize = (memcmp(lp, "TAG", 3) == 0) ? 128 0; bResult = FALSE; } return bResult; } BOOL LoadMP3(LPTSTR lpszFileName, LPMPEGLAYER3WAVEFORMAT lpmf, LPBYTE *lplpData, LPDWORD lpdwSize) { HMMIO hmmio = mmioOpen(lpszFileName, NULL, MMIO_READ); if (hmmio == NULL) { MessageBox(NULL, TEXT("ファイルのオープンに失敗しました。"), NULL, MB_ICONWARNING); return FALSE; } DWORD dwSize = mmioSeek(hmmio, 0, SEEK_END); LPBYTE lpData = new BYTE[dwSize]; mmioSeek(hmmio, 0, SEEK_SET); mmioRead(hmmio, (HPSTR)lpData, dwSize); mmioClose(hmmio, 0); DWORD dwTagSize; LPBYTE lpMp3Data; if (IsId3v2(lpData, dwSize, dwTagSize)) { dwSize -= dwTagSize; lpMp3Data = new BYTE[dwSize]; CopyMemory(lpMp3Data, lpData + dwTagSize, dwSize); delete[] lpData; } else { dwSize -= dwTagSize; lpMp3Data = lpData; } if (!GetMp3Format(lpMp3Data, lpmf)) { delete[] lpMp3Data; return FALSE; } *lplpData = lpMp3Data; *lpdwSize = dwSize; return TRUE; } resource.h #define IDD_DIALOG100 #define IDC_EDIT1000 //#define IDC_PLAY1001 //#define IDC_STOP1002 TestMP3.rc // resource script #include Windows.h #include "resource.h" IDD_DIALOG DIALOGEX 100, 100, 320, 200 STYLE WS_POPUPWINDOW | WS_MINIMIZEBOX EXSTYLE WS_EX_APPWINDOW | WS_EX_ACCEPTFILES CAPTION "TestMP3" FONT 9, "MS Pゴシック" BEGIN EDITTEXTIDC_EDIT,10,10,300,150 DEFPUSHBUTTON"Play( P)",IDOK,200,170,50,15 PUSHBUTTON"Stop( S)",IDCANCEL,260,170,50,15 END